package basicas;


import java.util.Collection;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.JoinColumn;
import javax.persistence.JoinTable;
import javax.persistence.ManyToMany;
import javax.persistence.ManyToOne;



@Entity
public class Evento extends ObjetoDoSistema{
	@Column(length=60, nullable=false)
	private String descricao;
	@Column(length=60, nullable=false)
	private String dataHoraDoEvento;	
	@ManyToOne @JoinColumn(name="codigoProdutora")
	private Produtora produtora;	
	
	@ManyToMany(fetch=FetchType.EAGER)
	@JoinTable(name="Evento_Artista", 
			joinColumns=@JoinColumn(name="codigoEvento"),
			inverseJoinColumns=@JoinColumn(name="codigoArtista"))	
	private Collection<Artista> artista;
	
	@ManyToOne @JoinColumn(name="codigoLocalEvento")
	private Local local;
	
	public Evento() {
		local = new Local();
		produtora = new Produtora();
                
	}

	public String getDescricao() {
		return descricao;
	}

	public void setDescricao(String descricao) {
		this.descricao = descricao;
	}

	public String getDataHoraDoEvento() {
		return dataHoraDoEvento;
	}

	public void setDataHoraDoEvento(String dataHoraDoEvento) {
		this.dataHoraDoEvento = dataHoraDoEvento;
	}

	public Produtora getProdutora() {
		return produtora;
	}

	public void setProdutora(Produtora produtora) {
		this.produtora = produtora;
	}

	public Collection<Artista> getArtista() {
		return artista;
	}

	public void setArtista(Collection<Artista> artista) {
		this.artista = artista;
	}

	public Local getLocal() {
		return local;
	}

	public void setLocal(Local local) {
		this.local = local;
	}	
	
	
}
